package chapter1.zyq1_str_obj;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;
/**第一版： 服务端可以让多个客户端链接。 但是一次只能和一个客户端通信*/
public class Server2 {
    public static void main(String[] args) {
        Server2 server = new Server2();
        server.start();
    }

    public void start(){
        try {
            ServerSocket serverSocket = new ServerSocket(8001);
            System.out.println("服务器开启服务端口8001,等待客户端连接...\n");
            while(true) {
                Socket socket = serverSocket.accept();
                System.out.println("接受客户端的连接(客户端连接上了)，开始会话(开始互相传输数据)...\n");
                socket.setSoTimeout(800);
                session(socket);
                System.out.println("会话结束(传输数据结束)，服务端关闭连接。");
                socket.close();
            }
        }catch (Exception e){
            e.printStackTrace();
        }
    }
    /*public void session(Socket socket) throws Exception{
        System.out.println("模拟： 与客户端进行会话(互相之间发送数据...)");
    }*/
    public void session(Socket socket) throws Exception{
        BufferedReader br=new BufferedReader(new InputStreamReader(socket.getInputStream()));
        String msg=null;
        while( (msg=br.readLine() )!=null ){
            System.out.println("server端收到：" + msg+"\n");
        }
    }

}